package com.wowangz.cms.systemmanage.passwordpolicy.service;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.apache.commons.lang.StringUtils;

import com.wowangz.cms.syscore.service.BaseService;
import com.wowangz.cms.systemmanage.passwordpolicy.pojo.PasswordPolicyHistory;

/**
 *
 * @描述 历史密码服务
 * @author HUANGYUAN 2015年8月13日 上午10:16:06
 *
 */
public class PasswordPolicyHistoryService extends BaseService {

	/**
	 * @描述 插入信息
	 * @author HUANGYUAN 2015年8月13日 上午10:19:11
	 *
	 * @param history
	 */
	public void insertPasswordHistory(PasswordPolicyHistory history) {
		this.getSqlSession().insert("PasswordPolicyHistory.insertPasswordHistory", history);
	}

	/**
	 * @描述 判断新密码与前几次相等 不相等返回false,否则返回true
	 * @author HUANGYUAN 2015年8月13日 上午10:24:31
	 *
	 * @param loginname
	 *            登录名称
	 * @param top
	 *            前几条
	 * @param newPassword
	 *            新密码
	 * @return boolean
	 */
	public boolean isValidation(String loginname, int top, String newPassword) {
		Map<String, Object> paramMap = new HashMap<String, Object>();
		boolean flag = false;
		paramMap.put("loginname", loginname);
		paramMap.put("top", top);
		List<PasswordPolicyHistory> list = queryPasswordPolicyHistoryList(paramMap);
		if (list != null && list.size() > 0) {
			for (PasswordPolicyHistory history : list) {
				if (StringUtils.equals(newPassword, history.getPassword())) {
					flag = true;
					break;
				}
			}
		}
		return flag;
	}

	/**
	 * @描述 获得前几条的密码记录
	 * @author HUANGYUAN 2015年8月13日 上午10:19:25
	 * @param paramMap
	 * @return List<PasswordPolicyHistory>
	 */
	public List<PasswordPolicyHistory> queryPasswordPolicyHistoryList(Map<String, Object> paramMap) {
		return this.getSqlSession().selectList("PasswordPolicyHistory.queryPasswordPolicyHistoryList", paramMap);
	}
}
